Features of XML

XML incorporates many of the features of SGML while learning 
from the limitations of HTML.   Like SGML, XML utilizes DTD’s, 
making it flexible and extensible.  The goals of XML as defined 
by its creators were more focused than those of SGML making 
it much easier to implement.  These goals included:

XML could be used with existing Internet protocols
(HTTP, MIME, etc.).  This makes it the ideal format for
sharing information on the Internet.

XML support is application independent.  Any
application can utilize and support XML documents.

XML is platform independent.  Its use of technologies
such as Unicode make it portable across machine types.

XML is license free.  It is controlled by an international
standards organization.  This means that it isn’t going to
cost you anything to use it.

XML is compatible with SGML.

The feature set of XML was kept to a minimum so that
applications could support it.  Compare this goal with that
of SGML.

XML is a family of technologies.  XML has already evolved
to include support for such things as style sheets, hyperlinks,
and the Document Object Model (DOM). 

XML takes the best of SGML (structured data definition capabilities) 
and the best of HTML (web addressing) .  The result is a portable, 
highly usable, markup language that can be used by any number of 
applications to store and share structured data.  Applications that 
will benefit or are already benefiting from XML include:

Office applications (word processors, spreadsheets, etc.)

Web applications (browsers, e-mail, etc.)

Server applications (database servers, e-mail servers, etc.)

At its core, XML appears very simple.  However, the implications 
of its use are very complex.  It is already changing the way that 
people store information and build applications.  Microsoft, Netscape, 
Sun, and many others are already using XML today in their 
applications, database servers, and e-commerce platforms.

XML Processors

An XML Processor is a piece of software, either an application or 
a library, that can process XML.  A good example of an XML 
processor is XML document validation software.  There are a 
number of such packages available for free and for sale on the 
Internet.  Such applications can be used to validate the contents 
of an XML document and make sure that it is well-formed.  A 
well-formed document is one that adheres to the rules of XML 
and any associated DTD’s.
Other good examples include XML document viewers and XML 
document code libraries that can be used by software that you 
create to manipulate XML documents.

XML Evolution

XML is still evolving.  There are a number of derivatives and 
extensions to XML that are being used today.  Some of these 
include:

eXtensible Style Sheets (XSL/XSLT)

XSL is a technology by which you can embed XML within
an HTML page and have the HTML processor (browser)
populate the contents of the page using the embedded XML.
This is a very powerful technology, although not many
browsers currently support it.  This is one of the most
exciting XML implementations as it directly affects the
way that data can be presented on the World Wide Web.